Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 🗑️ Remove Embedded Node Type #1225

Merged
merged 16 commits into from
Jun 30, 2023

Conversation

whizzzkid
Copy link
Contributor

@whizzzkid whizzzkid commented Jun 23, 2023

Fixes: #1220

In this PR:

  • Removed:
    • "option_ipfsNodeType_embedded": \{[^\}]+?\},?\n\s* -> ''
    • "option_ipfsNodeType_embedded_description": \{[^\}]+?\},?\n\s* -> ''
    • "option_ipfsNodeConfig_description": \{[^\}]+?\},?\n\s* -> ''
    • logos
    • readme references
    • packages ipfs-core and ipfs-core-types
    • tests
  • Fixed:
    • Logic
    • Comments
    • Added to-dos to fix checks like foo !== 'embedded' those should still work.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
@whizzzkid whizzzkid requested a review from SgtPooki June 23, 2023 08:36
@whizzzkid whizzzkid requested review from lidel and a team as code owners June 23, 2023 08:36
Copy link
Member

@SgtPooki SgtPooki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some comments and questions

@@ -57,7 +57,8 @@ export function initState (options, overrides) {
})
Object.defineProperty(state, 'localGwAvailable', {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if there is a specific reason we need to use defineProperty (e.g. we have logic enumerating on the state object and we don't want these to be enumerable, or prevent prop deletion, or prevent changing value?) or if this can be cleaned up in the future.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is legacy, basically old-school getters when class was not a thing. If I were rewriting this today, this would look something like:

class CompanionState {
  ...
  get localGwAvailable() {
    return this.ipfsNodeType === 'external'
  }
  ...
}

The reason it's done this way is because: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#defining_a_getter_on_existing_objects_using_defineproperty

Basically, this is the only way to add getters/setters to existing objects, your thoughts around enumerability, prop preservation, etc are absolutely valid, but nothing that fancy is happening here. This can definitely be cleaned up at sometime in the future.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, that's what I figured, thanks for the info

Comment on lines 34 to 35
// TODO(whizzzkid): remove this once we have a better solution
const supportRedirectToCustomGateway = ipfsNodeType !== 'embedded'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will need to be fixed before merging Mv3 right?

What are the existing node types? Only 'brave' and 'remote' ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's brave and external but on chrome, it's only external I forgot to fix it, I'll quickly add a commit to address this.

Comment on lines 48 to 49
// TODO(whizzzkid): Remove this once we have a better way to handle this.
const activeFilesCpImport = active && isIpfsOnline && isApiAvailable && !ipfsNodeType.startsWith('embedded')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to remove activeFilesCpImport entirely? or just the embedded check?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just the embedded check, fixing.

swarmPeers
}) {
const api = ipfsApiUrl && ipfsNodeType === 'embedded' ? 'js-ipfs' : ipfsApiUrl
const api = ipfsApiUrl
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below, we use this value in panel_statusApiAddress. Is that read from anything?

Comment on lines 238 to 239
// TODO(whizzzkid): Remove this once we have a better way to handle this.
if (state.active && status.redirect && (status.ipfsNodeType !== 'embedded')) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to remove this entire check? or only the embedded check?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just the embedded check, fixing!

Comment on lines 17 to 18
// TODO(whizzzkid): Remove this once we have a better way to handle this.
const activeWebUI = active && isIpfsOnline && ipfsNodeType !== 'embedded'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whole check or just embedded? be more specific in TODO, or open an issue. We need to make sure anyone has enough context to take on the TODO at a later point.

ditto for all TODOs added.

Comment on lines 8 to 10
let prefix
if (nodeType.startsWith('embedded')) prefix = 'js-'
if (nodeType === braveNodeType) prefix = 'brave-'
return `${prefix || ''}ipfs-logo-${isIpfsOnline ? 'on' : 'off'}.svg`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
let prefix
if (nodeType.startsWith('embedded')) prefix = 'js-'
if (nodeType === braveNodeType) prefix = 'brave-'
return `${prefix || ''}ipfs-logo-${isIpfsOnline ? 'on' : 'off'}.svg`
let prefix = ''
if (nodeType === braveNodeType) prefix = 'brave-'
return `${prefix}ipfs-logo-${isIpfsOnline ? 'on' : 'off'}.svg`

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I cannot apply this suggestion on deleted lines, lemme fix it in a follow-up.

@@ -2,7 +2,7 @@
"transpileOnly": true,
"compilerOptions": {
"typeRoots" : ["./src/types"],
"lib": ["ESNext"],
"lib": ["DOM", "ESNext"],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add webworker? (there is no ServiceWorker lib IIRC)

Copy link
Contributor Author

@whizzzkid whizzzkid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressing comments

@@ -57,7 +57,8 @@ export function initState (options, overrides) {
})
Object.defineProperty(state, 'localGwAvailable', {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is legacy, basically old-school getters when class was not a thing. If I were rewriting this today, this would look something like:

class CompanionState {
  ...
  get localGwAvailable() {
    return this.ipfsNodeType === 'external'
  }
  ...
}

The reason it's done this way is because: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#defining_a_getter_on_existing_objects_using_defineproperty

Basically, this is the only way to add getters/setters to existing objects, your thoughts around enumerability, prop preservation, etc are absolutely valid, but nothing that fancy is happening here. This can definitely be cleaned up at sometime in the future.

Comment on lines 34 to 35
// TODO(whizzzkid): remove this once we have a better solution
const supportRedirectToCustomGateway = ipfsNodeType !== 'embedded'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's brave and external but on chrome, it's only external I forgot to fix it, I'll quickly add a commit to address this.

Comment on lines 48 to 49
// TODO(whizzzkid): Remove this once we have a better way to handle this.
const activeFilesCpImport = active && isIpfsOnline && isApiAvailable && !ipfsNodeType.startsWith('embedded')
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just the embedded check, fixing.

Comment on lines 238 to 239
// TODO(whizzzkid): Remove this once we have a better way to handle this.
if (state.active && status.redirect && (status.ipfsNodeType !== 'embedded')) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just the embedded check, fixing!

Comment on lines 8 to 10
let prefix
if (nodeType.startsWith('embedded')) prefix = 'js-'
if (nodeType === braveNodeType) prefix = 'brave-'
return `${prefix || ''}ipfs-logo-${isIpfsOnline ? 'on' : 'off'}.svg`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I cannot apply this suggestion on deleted lines, lemme fix it in a follow-up.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
…-node-type' into fix/remove-embedded-node-type

* refs/remotes/origin/fix/remove-embedded-node-type:
  fix: quick-import
Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
@whizzzkid
Copy link
Contributor Author

@SgtPooki ready for a quick re-review

@whizzzkid whizzzkid requested a review from SgtPooki June 30, 2023 09:28
@@ -57,7 +57,8 @@ export function initState (options, overrides) {
})
Object.defineProperty(state, 'localGwAvailable', {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, that's what I figured, thanks for the info

@whizzzkid whizzzkid merged commit a819c75 into rc/3.0-mv3 Jun 30, 2023
@whizzzkid whizzzkid deleted the fix/remove-embedded-node-type branch June 30, 2023 23:45
whizzzkid added a commit that referenced this pull request Sep 15, 2023
* feat(mv3): Manifest V3 Migration Checklist (#1170)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(mv3): CI Builds 🏗️  (#1183)

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix(mv3): :green_heart: Manifest version

* feat: :adhesive_bandage: temporary building from rc-branch

* feat(mv3): blocking by observing (#1181)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(types): :label: Refactoring existing type declaration

* fix(types): :label: Moving to new types path

* feat(types): :sparkles: Adding typescript support for transpilation

* feat(mv3): :sparkles: Adding blocking request tester

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix: :rotating_light: fix lint

* fix(mv3): :adhesive_bandage: temp fix to build background context

* fix(mv3): :necktie: Detection Logic for MV3 world.

* feat(mv3): :sparkles: Dynamic RegexSubstitution

* fix(types): :arrow_up: Adding .mocharc.json to fix mocha for TS.

* fix: :rotating_light: Lint Fix

* fix(mv3): :recycle: refactor background.service_worker

* feat(mv3): :sparkles: Passing state to BlockOrObserve

* fix(recovery): :bug: conditional for recovery

* fix: :wastebasket: unneeded @ts-ignore

* fix: :bulb: Adding comments

* fix: fixing string method.

* fix: removing extra space.

* fix: removing @ts-nocheck

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* feat(mv3): adding dynamicNetRequest rule reconciliation logic + Firefox Builds (#1186)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(types): :label: Refactoring existing type declaration

* fix(types): :label: Moving to new types path

* feat(types): :sparkles: Adding typescript support for transpilation

* feat(mv3): :sparkles: Adding blocking request tester

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix: :rotating_light: fix lint

* fix(mv3): :adhesive_bandage: temp fix to build background context

* fix(mv3): :necktie: Detection Logic for MV3 world.

* feat(mv3): :sparkles: Dynamic RegexSubstitution

* fix(types): :arrow_up: Adding .mocharc.json to fix mocha for TS.

* fix: :rotating_light: Lint Fix

* fix(mv3): :recycle: refactor background.service_worker

* feat(mv3): :sparkles: Passing state to BlockOrObserve

* fix(recovery): :bug: conditional for recovery

* fix: :wastebasket: unneeded @ts-ignore

* fix: :bulb: Adding comments

* fix: fixing string method.

* fix: removing extra space.

* fix: removing @ts-nocheck

* no longer needed

* fix(mv3): :recycle: Refactor

* feat(mv3): :sparkles: Adding rule-recon logic

* saving state

* fix(mv3): :wrench: Manifest

* fix(mv3): :wrench: Fixing firefox webpack config

* fix(mv3): :adhesive_bandage: Patching debug to use in memory store instead of browser.storage.local

* fix: :rotating_light: fixing lint and moving from record type to map type.

* fix: :memo: Adding docstrings.

* fix(mv3): :poop: web-ext making things harder than it needs to be.

* fix(mv3): :rewind: no more debug patching

* fix(mv3): :poop: improved recon logic

* fix: :memo: adding comments regarding debug.

* fix: :rotating_light: Fix lint

* fix(mv3): :passport_control: manifest perms

* fix: :wastebasket: unnecessary blank line

* feat(mv3): :test_tube: Adding initial tests

* feat(mv3): :clown_face: Adding Mock DeclarativeNetRequest Implementation

* nits

* fix: adding more test examples

* fix: self-documenting code.

* fix: unneeded comment

* Update test/functional/lib/redirect-handler/blockOrObserve.test.ts

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Chore(mv3-release): Publishing RC releases (#1192)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(types): :label: Refactoring existing type declaration

* fix(types): :label: Moving to new types path

* feat(types): :sparkles: Adding typescript support for transpilation

* feat(mv3): :sparkles: Adding blocking request tester

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix: :rotating_light: fix lint

* fix(mv3): :adhesive_bandage: temp fix to build background context

* fix(mv3): :necktie: Detection Logic for MV3 world.

* feat(mv3): :sparkles: Dynamic RegexSubstitution

* fix(types): :arrow_up: Adding .mocharc.json to fix mocha for TS.

* fix: :rotating_light: Lint Fix

* fix(mv3): :recycle: refactor background.service_worker

* feat(mv3): :sparkles: Passing state to BlockOrObserve

* fix(recovery): :bug: conditional for recovery

* fix: :wastebasket: unneeded @ts-ignore

* fix: :bulb: Adding comments

* fix: fixing string method.

* fix: removing extra space.

* fix: removing @ts-nocheck

* no longer needed

* fix(mv3): :recycle: Refactor

* feat(mv3): :sparkles: Adding rule-recon logic

* saving state

* fix(mv3): :wrench: Manifest

* fix(mv3): :wrench: Fixing firefox webpack config

* fix(mv3): :adhesive_bandage: Patching debug to use in memory store instead of browser.storage.local

* fix: :rotating_light: fixing lint and moving from record type to map type.

* fix: :memo: Adding docstrings.

* fix(mv3): :poop: web-ext making things harder than it needs to be.

* fix(mv3): :rewind: no more debug patching

* fix(mv3): :poop: improved recon logic

* fix: :memo: adding comments regarding debug.

* fix: :rotating_light: Fix lint

* fix(mv3): :passport_control: manifest perms

* fix: :wastebasket: unnecessary blank line

* feat(mv3): :test_tube: Adding initial tests

* feat(mv3): :clown_face: Adding Mock DeclarativeNetRequest Implementation

* nits

* fix: adding more test examples

* fix: self-documenting code.

* fix: unneeded comment

* Creating RC Releases

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(mv3): ref_name (#1193)

* Fix/mv3 release (#1194)

* fix(mv3): ref_name

* fix: this is hard to test

* Fixing beta builds

* fix(mv3): :bug: Bad Regex for DNS links (#1198)

* fix(mv3): :bug: Fixing copy functionality for MV3 (#1197)

* fix(mv3): :bug: Fixing copy functionality for MV3

* fix:

* Update add-on/src/lib/copier.js

* feat(mv3): Handle State Changes (#1200)

* fix(mv3): Add support for global toggle on/off

* feat(mv3): Handle State Changes

* fix(mv3): :recycle: Refactoring code to only message self in observation mode.

* Fix/1202 first page is missing content (#1208)

* fix: :arrow_up: package-lock

* feat(mv3): :recycle: Reload tabs with request url.

* fix(mv3): 👔 Adding better regex replace to remove infinite redirects. (#1210)

* fix(mv3): :necktie: Adding better regex replace to remove infinite redirects.

* fix(mv3): :test_tube: Adding more tests to account for local redirects

* fix: :rotating_light: Linter

* feat(mv3): :clown_face: DeclarativeNetRequestMock (#1211)

* fix(mv3): :necktie: Adding better regex replace to remove infinite redirects.

* fix(mv3): :test_tube: Adding more tests to account for local redirects

* feat(mv3): :clown_face: DeclarativeNetRequestMock

* fix: :rotating_light: Linter

* feat(mv3): Adding ContextMenus MV3 Style (#1213)

* feat(mv3): :sparkles: ContextMenus MV3 Style

* feat(mv3): :test_tube: Adding tests

* fix: test case

* fix (quick-import): Duplicate behaviour in MV3 (#1215)

* feat(mv3): :sparkles: ContextMenus MV3 Style

* feat(mv3): :test_tube: Adding tests

* fix: test case

* fix(mv3): :bug: Quick Import

* fix(mv3): :wastebasket: Removing Unnecessary Listener (#1219)

* fix: Automatic Mode Description (#1224)

* fix: :adhesive_bandage: Adding Automatic Mode Description

* Update add-on/_locales/en/messages.json

Co-authored-by: Steve Loeppky <stvn@loeppky.com>

* Update add-on/_locales/en/messages.json

Co-authored-by: Steve Loeppky <stvn@loeppky.com>

---------

Co-authored-by: Steve Loeppky <stvn@loeppky.com>

* fix: 🗑️ Remove Embedded Node Type (#1225)

* fix: :wastebasket: no longer needed

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: unneeded messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: Removing unneeded test

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :necktie: Update logic or add todos to fix this later.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: remove logos

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint warning

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :alien: no idea why this is a problem now.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: irrelevant

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: quick-import

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Fixing quick-import

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Fixing Tools

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: fixing gateway-form

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: content-action

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: store

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Fixing state

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Fix(docs): ✏️ Adding/Updating docs (#1230)

* fix(docs): :pencil2: Api -> kubo rpc api

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(docs): :pencil2: reword

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(docs): :heavy_plus_sign: Adding MV3 Migration Docs and Assets.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update docs/MV3.md

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Update docs/MV3.md

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* feat(metrics): ✨ Adding patched analytics. (#1232)

* feat(mv3): :sparkles: Patching countly-sdk-web

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :sparkles: Implementing Custom Async Store.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* chore(mv3): :adhesive_bandage: Hooking everything up together.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Countly Patching + ignite-metrics@2.0.0

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :adhesive_bandage: Patching error messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(patch): countly-web-sdk

* fix(patch): :pin: Pinning countly-web-sdk to 23.2.2

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :art: Replacing Static Images with Mermaid Diagrams (#1233)

* fic(mv3): :art: Replacing Static Images with Mermaid Diagrams

* fix(mv3): :pencil2: Improving Grammar

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Adding Colors

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Update docs/MV3.md

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* feat(mv3): Faster Redirects During The First Page Load in main_frame (#1239)

* feat(mv3): :zap: Faster redirects for the first time.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: removing only from the tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test(mv3): Adding removing rule example.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test(mv3): :test_tube: Added test regarding removal of rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): Reverting to old state of things (#1242)

* fix(mv3): Reverting Telemetry Changes To Use PatchedCountlySDK

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): metrics build

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: more reverts + fixing patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): :adhesive_bandage: don't look for debug, just log it.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): removing session start/end.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: unused var

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): patch

* revert

* fix(countly): repatch, old one seems to be failing.

* fix(countly): bad patch

* revert

* retrying patch

* fix: patch files should not be cached.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: fixing cache keys

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): ✨ Introduces Redirect Rule Management (#1240)

* feat: exporting rules ending regex

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: :sparkles: Adding Rule Management UI

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: :sparkles: hooking up with background worker.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :art: button styling

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :lipstick: Making UI a bit better

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Tracking URL resolved/observed count. (#1245)

* fix(mv3): Reverting Telemetry Changes To Use PatchedCountlySDK

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): metrics build

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: more reverts + fixing patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: adding request view.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Reverting to mainline rc patch

* Reverting to mainline rc add-on/src/lib/ipfs-companion.js

* feat(telemetry):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(telemetry): Implementing RequestTracker Event Handler

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(telemetry): hooking up events.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(types): annotations

* fix(telemetry): :wastebasket: returning to previous state

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): :recycle: Refactor Request Tracker

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): hooking up requests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): better types

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): :wastebasket: more stuff goes, because test need to pass.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): fixed

* feat(test): test tracker.

* fix: remove only

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :lipstick: line break

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Ask for Host Permissions if not exist. (#1250)

* feat(mv3): :sparkles: Requesting Host Permissions Explicitly

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :bug: Adding perms step on installed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: request-permission-view tracking

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Making permissions agnostic to browser

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* docs: clarify why we need host permission

making prompt less scary, shorter, and informative

* Update add-on/src/lib/ipfs-request.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* feat(mv3): Redirection Tests (#1236)

* feat(mv3): :sparkles: Patching countly-sdk-web

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :sparkles: Implementing Custom Async Store.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* chore(mv3): :adhesive_bandage: Hooking everything up together.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Countly Patching + ignite-metrics@2.0.0

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Refactoring `supportsBlock` Checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Regex Bug

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Migrating blocking redirection test to observing redirection test

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Fixing the mocha-setup.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Moving Setup Files.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): gateway-redirect tests now fixed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :adhesive_bandage: Patching error messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(patch): countly-web-sdk

* fix(patch): :pin: Pinning countly-web-sdk to 23.2.2

* fix(mv3): :lipstick: Fixing Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: protocol-handler-redirection-tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: more tests fixed

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: More tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint fix

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test: merge mocha-setup files (#1246)

* test: merge mocha-setup files

* test(helper): add mv3-test-enabled helper

* test(setup): remove duplicate setup for mv3/mv2

* test(mv3): merge mv3 tests into mv2 test files (#1247)

* test(mv3): merge mv3 tests into mv2 test files

* chore(lint): fix lint failures

* test(supportsBlock): cleanup test

* test: migrating some tests

* test(redirect): mv3 tests use same code as mv2

* test(redirect): mv3 test cleanup

* test(protohandler): mv3 tests use same code as mv2

* test(helper): make isMv3 flag a boolean

* test: fix after merge

* test: fix after merge

* fix: typerrors for localstorage

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Updating test:functional_MV3 command.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: setup

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Fixing tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): Becuase Ofcourse

* feat(test): scaffolding mv3 + mv2 calls in a single check.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): unskipping and upgrading dnslink tests to mv3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Upgrading workaround tests to MV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): removing all skips with better checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring tests and removing redundant calls.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): More Dryer

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): one more

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :pencil2: Renaming isMv3TestingEnabled -> isManifestV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): refactor expectNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring more.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: replacing checks to undefined

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: renaming expectNoRedirect -> ensureNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Adding missing JSDoc

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :shrug: how did this get removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :wastebasket: removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Suggestion

* fix(test): :adhesive_bandage: Bad Merge

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): sequential expectNoRedirect

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(rules): Better Redirect Rules (#1256)

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :bug: Making rules less greedy

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :sparkles: Dynamic Rules for subdomain gateways.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(types): Adding ambient types for is-ipfs.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): helper

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): less greedy rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Adding simpler regex for redirects from similar namespaces.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :rotating_light: Warnings

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Better Default Rules (#1260)

* refactor(mv3): blockOrRequest code

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(mv3): Port Logic for Default Rules is more robust.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Adding tests for default rule logic.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

* fix(docs): :pencil2: Adding comments

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexfilters): Better Structure and Readability (#1261)

* refactor(regexFilters): :sparkles: Adding a base class for regexFilters.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving subdomain filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving namespace filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving common filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(regexFilters): :sparkles: Hooking Up All together

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :pencil2: Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :pencil2: Updating message.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(rename): :pencil2: CommonPatterRedirectRegexFilter -> CommonPatternRedirectRegexFilter

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :recycle: Refactor to remove call to super

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: make _canHandle private

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :zap: Fix math.min on every loop.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): no blanket redirect for subdomains without namespaces.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): unused import

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(recovery): Recovery Rules should reset (#1266)

* feat(mv3): :sparkles: Patching countly-sdk-web

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :sparkles: Implementing Custom Async Store.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* chore(mv3): :adhesive_bandage: Hooking everything up together.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Countly Patching + ignite-metrics@2.0.0

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Refactoring `supportsBlock` Checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Regex Bug

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Migrating blocking redirection test to observing redirection test

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Fixing the mocha-setup.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Moving Setup Files.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): gateway-redirect tests now fixed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :adhesive_bandage: Patching error messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(patch): countly-web-sdk

* fix(patch): :pin: Pinning countly-web-sdk to 23.2.2

* fix(mv3): :lipstick: Fixing Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: protocol-handler-redirection-tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: more tests fixed

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: More tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint fix

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test: merge mocha-setup files (#1246)

* test: merge mocha-setup files

* test(helper): add mv3-test-enabled helper

* test(setup): remove duplicate setup for mv3/mv2

* test(mv3): merge mv3 tests into mv2 test files (#1247)

* test(mv3): merge mv3 tests into mv2 test files

* chore(lint): fix lint failures

* test(supportsBlock): cleanup test

* test: migrating some tests

* test(redirect): mv3 tests use same code as mv2

* test(redirect): mv3 test cleanup

* test(protohandler): mv3 tests use same code as mv2

* test(helper): make isMv3 flag a boolean

* test: fix after merge

* test: fix after merge

* fix: typerrors for localstorage

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Updating test:functional_MV3 command.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: setup

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Fixing tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): Becuase Ofcourse

* feat(test): scaffolding mv3 + mv2 calls in a single check.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): unskipping and upgrading dnslink tests to mv3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Upgrading workaround tests to MV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): removing all skips with better checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring tests and removing redundant calls.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): More Dryer

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): one more

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :pencil2: Renaming isMv3TestingEnabled -> isManifestV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): refactor expectNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring more.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: replacing checks to undefined

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: renaming expectNoRedirect -> ensureNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Adding missing JSDoc

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :shrug: how did this get removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :wastebasket: removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Suggestion

* fix(test): :adhesive_bandage: Bad Merge

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): sequential expectNoRedirect

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :bug: Making rules less greedy

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :sparkles: Dynamic Rules for subdomain gateways.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(types): Adding ambient types for is-ipfs.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): helper

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): less greedy rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Adding simpler regex for redirects from similar namespaces.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :rotating_light: Warnings

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Better Default Rules (#1260)

* refactor(mv3): blockOrRequest code

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(mv3): Port Logic for Default Rules is more robust.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Adding tests for default rule logic.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

* fix(docs): :pencil2: Adding comments

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :sparkles: Adding a base class for regexFilters.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving subdomain filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving namespace filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving common filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(regexFilters): :sparkles: Hooking Up All together

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :pencil2: Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :pencil2: Updating message.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(rename): :pencil2: CommonPatterRedirectRegexFilter -> CommonPatternRedirectRegexFilter

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :recycle: Refactor to remove call to super

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: make _canHandle private

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :zap: Fix math.min on every loop.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(recovery): reset rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(recovery): :recycle: Refactor messaging logic

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(recovery): :bug: Cleanup Logic

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :bug: fix toggle site integration.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Hard coding wait as the browser is not cooperative.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(mv3): :bug: rules section visible. (#1271)

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(brave): Fix Brave UX (#1270)

* fix(options): fixing options menu

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Adding brave specific redirects.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(e2e): Request Handling Tests (#1272)

* fix(test): :recycle: simplify scaffolding

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :test_tube: Adding a final resolution check

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/_locales/en/messages.json

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update add-on/src/options/forms/api-form.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update add-on/_locales/en/messages.json

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update test/functional/lib/redirect-handler/blockOrObserve.test.ts

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update README.md

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(test):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :see_no_evil: Don't interrupt websockets and webtransports.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :pencil2: Rename: ensureDeclrativeNetRequetRuleIsAdded -> ensureDeclarativeNetRequestRuleIsAdded

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :pencil2: Rename: ensureTabRedirected -> ensureTabUpdatedTo

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(language): :pencil2: Rewrite

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :test_tube: Add a failing test.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/_locales/en/messages.json

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Update ci/update-manifest.sh

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix: :pencil2: Beta naming

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): FF Browser Action (#1275)

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test(import): :test_tube: Backfill Tests (#1276)

* test(import): :test_tube: Backfill Tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update test/functional/lib/ipfs-import.test.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update test/functional/lib/ipfs-import.test.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* test(import): :test_tube: Backfilling tests for copyImportResultsToFiles

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* feat(mv3): :heavy_plus_sign: Adding hash function to generate predict… (#1273)

feat(mv3): :heavy_plus_sign: Adding hash function to generate predictable ids.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wastebasket: Remove redundant lines.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: opposite functionality `supportsBlock` -> `supportsDeclarativeNetRequest`

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :twisted_rightwards_arrows: Adding migrations for embedded to external.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: Steve Loeppky <stvn@loeppky.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
whizzzkid added a commit that referenced this pull request Sep 15, 2023
BREAKING CHANGE: Implements the new MV3 standard for browser extensions.

* feat(mv3): Manifest V3 Migration Checklist (#1170)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(mv3): CI Builds 🏗️  (#1183)

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix(mv3): :green_heart: Manifest version

* feat: :adhesive_bandage: temporary building from rc-branch

* feat(mv3): blocking by observing (#1181)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(types): :label: Refactoring existing type declaration

* fix(types): :label: Moving to new types path

* feat(types): :sparkles: Adding typescript support for transpilation

* feat(mv3): :sparkles: Adding blocking request tester

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix: :rotating_light: fix lint

* fix(mv3): :adhesive_bandage: temp fix to build background context

* fix(mv3): :necktie: Detection Logic for MV3 world.

* feat(mv3): :sparkles: Dynamic RegexSubstitution

* fix(types): :arrow_up: Adding .mocharc.json to fix mocha for TS.

* fix: :rotating_light: Lint Fix

* fix(mv3): :recycle: refactor background.service_worker

* feat(mv3): :sparkles: Passing state to BlockOrObserve

* fix(recovery): :bug: conditional for recovery

* fix: :wastebasket: unneeded @ts-ignore

* fix: :bulb: Adding comments

* fix: fixing string method.

* fix: removing extra space.

* fix: removing @ts-nocheck

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* feat(mv3): adding dynamicNetRequest rule reconciliation logic + Firefox Builds (#1186)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(types): :label: Refactoring existing type declaration

* fix(types): :label: Moving to new types path

* feat(types): :sparkles: Adding typescript support for transpilation

* feat(mv3): :sparkles: Adding blocking request tester

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix: :rotating_light: fix lint

* fix(mv3): :adhesive_bandage: temp fix to build background context

* fix(mv3): :necktie: Detection Logic for MV3 world.

* feat(mv3): :sparkles: Dynamic RegexSubstitution

* fix(types): :arrow_up: Adding .mocharc.json to fix mocha for TS.

* fix: :rotating_light: Lint Fix

* fix(mv3): :recycle: refactor background.service_worker

* feat(mv3): :sparkles: Passing state to BlockOrObserve

* fix(recovery): :bug: conditional for recovery

* fix: :wastebasket: unneeded @ts-ignore

* fix: :bulb: Adding comments

* fix: fixing string method.

* fix: removing extra space.

* fix: removing @ts-nocheck

* no longer needed

* fix(mv3): :recycle: Refactor

* feat(mv3): :sparkles: Adding rule-recon logic

* saving state

* fix(mv3): :wrench: Manifest

* fix(mv3): :wrench: Fixing firefox webpack config

* fix(mv3): :adhesive_bandage: Patching debug to use in memory store instead of browser.storage.local

* fix: :rotating_light: fixing lint and moving from record type to map type.

* fix: :memo: Adding docstrings.

* fix(mv3): :poop: web-ext making things harder than it needs to be.

* fix(mv3): :rewind: no more debug patching

* fix(mv3): :poop: improved recon logic

* fix: :memo: adding comments regarding debug.

* fix: :rotating_light: Fix lint

* fix(mv3): :passport_control: manifest perms

* fix: :wastebasket: unnecessary blank line

* feat(mv3): :test_tube: Adding initial tests

* feat(mv3): :clown_face: Adding Mock DeclarativeNetRequest Implementation

* nits

* fix: adding more test examples

* fix: self-documenting code.

* fix: unneeded comment

* Update test/functional/lib/redirect-handler/blockOrObserve.test.ts

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Chore(mv3-release): Publishing RC releases (#1192)

* feat(mv3): :sparkles: MV3 Manifest Migration

* fix(mv3): :wastebasket: No longer needed

* fix(mv3): :wrench: Corresponding MV3 Changes

* feat(mv3): :package: Adding deps

* feat(telemetry): Refactor Metrics Tracking from background service_worker (#1172)

* feat(telemetry): :recycle: Init Telemetry away from background service_worker.

* feat(telemetry): :recycle: Track metrics from page context instead of service_worker context

* feat(mv3): :adhesive_bandage: Patch @protobufjs/inquire to not have eval

* fix(mv3): :alien: Fixing contextMenus API changes (#1177)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): webpack configs (#1178)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): ✨ XHR to Fetch Migration (#1179)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* Fix(mv3): Popup Was Broken (#1180)

* fix(mv3): :alien: Fixing contextMenus API changes

* fix(mv3): :adhesive_bandage: Fixing the browser.action api

* fix(mv3): :wrench: Fixing webpack config

* fix(mv3): :adhesive_bandage: Patching debug package and making background sw work.

* feat(mv3): :sparkles: XMLHttpRequest => fetch

* fix(mv3): :construction: Related changes to ipfs-path

* fix(mv3): :construction: Other Related changes

* fix(mv3): :construction: Changes to companion

* fix(mv3): :white_check_mark: Fixing tests to account for async code.

* feat(mv3): :recycle: Implementing a non-windowed companion instance

* fix(mv3): :wastebasket: Removing calls to background page.

* fix: :wastebasket: Unneeded debug statement

* fix(mv3): :passport_control: Limiting permissions to chrome-extension

* Update add-on/src/lib/ipfs-companion.js

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(types): :label: Refactoring existing type declaration

* fix(types): :label: Moving to new types path

* feat(types): :sparkles: Adding typescript support for transpilation

* feat(mv3): :sparkles: Adding blocking request tester

* fix(mv3): :adhesive_bandage: package.json

* fix(mv3): :rotating_light: Fix Lint

* fix: :rotating_light: fix lint

* fix(mv3): :adhesive_bandage: temp fix to build background context

* fix(mv3): :necktie: Detection Logic for MV3 world.

* feat(mv3): :sparkles: Dynamic RegexSubstitution

* fix(types): :arrow_up: Adding .mocharc.json to fix mocha for TS.

* fix: :rotating_light: Lint Fix

* fix(mv3): :recycle: refactor background.service_worker

* feat(mv3): :sparkles: Passing state to BlockOrObserve

* fix(recovery): :bug: conditional for recovery

* fix: :wastebasket: unneeded @ts-ignore

* fix: :bulb: Adding comments

* fix: fixing string method.

* fix: removing extra space.

* fix: removing @ts-nocheck

* no longer needed

* fix(mv3): :recycle: Refactor

* feat(mv3): :sparkles: Adding rule-recon logic

* saving state

* fix(mv3): :wrench: Manifest

* fix(mv3): :wrench: Fixing firefox webpack config

* fix(mv3): :adhesive_bandage: Patching debug to use in memory store instead of browser.storage.local

* fix: :rotating_light: fixing lint and moving from record type to map type.

* fix: :memo: Adding docstrings.

* fix(mv3): :poop: web-ext making things harder than it needs to be.

* fix(mv3): :rewind: no more debug patching

* fix(mv3): :poop: improved recon logic

* fix: :memo: adding comments regarding debug.

* fix: :rotating_light: Fix lint

* fix(mv3): :passport_control: manifest perms

* fix: :wastebasket: unnecessary blank line

* feat(mv3): :test_tube: Adding initial tests

* feat(mv3): :clown_face: Adding Mock DeclarativeNetRequest Implementation

* nits

* fix: adding more test examples

* fix: self-documenting code.

* fix: unneeded comment

* Creating RC Releases

---------

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix(mv3): ref_name (#1193)

* Fix/mv3 release (#1194)

* fix(mv3): ref_name

* fix: this is hard to test

* Fixing beta builds

* fix(mv3): :bug: Bad Regex for DNS links (#1198)

* fix(mv3): :bug: Fixing copy functionality for MV3 (#1197)

* fix(mv3): :bug: Fixing copy functionality for MV3

* fix:

* Update add-on/src/lib/copier.js

* feat(mv3): Handle State Changes (#1200)

* fix(mv3): Add support for global toggle on/off

* feat(mv3): Handle State Changes

* fix(mv3): :recycle: Refactoring code to only message self in observation mode.

* Fix/1202 first page is missing content (#1208)

* fix: :arrow_up: package-lock

* feat(mv3): :recycle: Reload tabs with request url.

* fix(mv3): 👔 Adding better regex replace to remove infinite redirects. (#1210)

* fix(mv3): :necktie: Adding better regex replace to remove infinite redirects.

* fix(mv3): :test_tube: Adding more tests to account for local redirects

* fix: :rotating_light: Linter

* feat(mv3): :clown_face: DeclarativeNetRequestMock (#1211)

* fix(mv3): :necktie: Adding better regex replace to remove infinite redirects.

* fix(mv3): :test_tube: Adding more tests to account for local redirects

* feat(mv3): :clown_face: DeclarativeNetRequestMock

* fix: :rotating_light: Linter

* feat(mv3): Adding ContextMenus MV3 Style (#1213)

* feat(mv3): :sparkles: ContextMenus MV3 Style

* feat(mv3): :test_tube: Adding tests

* fix: test case

* fix (quick-import): Duplicate behaviour in MV3 (#1215)

* feat(mv3): :sparkles: ContextMenus MV3 Style

* feat(mv3): :test_tube: Adding tests

* fix: test case

* fix(mv3): :bug: Quick Import

* fix(mv3): :wastebasket: Removing Unnecessary Listener (#1219)

* fix: Automatic Mode Description (#1224)

* fix: :adhesive_bandage: Adding Automatic Mode Description

* Update add-on/_locales/en/messages.json

Co-authored-by: Steve Loeppky <stvn@loeppky.com>

* Update add-on/_locales/en/messages.json

Co-authored-by: Steve Loeppky <stvn@loeppky.com>

---------

Co-authored-by: Steve Loeppky <stvn@loeppky.com>

* fix: 🗑️ Remove Embedded Node Type (#1225)

* fix: :wastebasket: no longer needed

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: unneeded messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: Removing unneeded test

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :necktie: Update logic or add todos to fix this later.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: remove logos

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint warning

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :alien: no idea why this is a problem now.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :wastebasket: irrelevant

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: quick-import

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Fixing quick-import

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Fixing Tools

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: fixing gateway-form

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: content-action

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: store

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Fixing state

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Fix(docs): ✏️ Adding/Updating docs (#1230)

* fix(docs): :pencil2: Api -> kubo rpc api

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(docs): :pencil2: reword

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(docs): :heavy_plus_sign: Adding MV3 Migration Docs and Assets.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update docs/MV3.md

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Update docs/MV3.md

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* feat(metrics): ✨ Adding patched analytics. (#1232)

* feat(mv3): :sparkles: Patching countly-sdk-web

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :sparkles: Implementing Custom Async Store.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* chore(mv3): :adhesive_bandage: Hooking everything up together.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Countly Patching + ignite-metrics@2.0.0

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :adhesive_bandage: Patching error messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(patch): countly-web-sdk

* fix(patch): :pin: Pinning countly-web-sdk to 23.2.2

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :art: Replacing Static Images with Mermaid Diagrams (#1233)

* fic(mv3): :art: Replacing Static Images with Mermaid Diagrams

* fix(mv3): :pencil2: Improving Grammar

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Adding Colors

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Update docs/MV3.md

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* feat(mv3): Faster Redirects During The First Page Load in main_frame (#1239)

* feat(mv3): :zap: Faster redirects for the first time.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: removing only from the tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test(mv3): Adding removing rule example.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test(mv3): :test_tube: Added test regarding removal of rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): Reverting to old state of things (#1242)

* fix(mv3): Reverting Telemetry Changes To Use PatchedCountlySDK

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): metrics build

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: more reverts + fixing patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): :adhesive_bandage: don't look for debug, just log it.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): removing session start/end.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: unused var

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): patch

* revert

* fix(countly): repatch, old one seems to be failing.

* fix(countly): bad patch

* revert

* retrying patch

* fix: patch files should not be cached.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: fixing cache keys

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): ✨ Introduces Redirect Rule Management (#1240)

* feat: exporting rules ending regex

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: :sparkles: Adding Rule Management UI

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: :sparkles: hooking up with background worker.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :art: button styling

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :lipstick: Making UI a bit better

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Tracking URL resolved/observed count. (#1245)

* fix(mv3): Reverting Telemetry Changes To Use PatchedCountlySDK

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): metrics build

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: more reverts + fixing patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: adding request view.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Reverting to mainline rc patch

* Reverting to mainline rc add-on/src/lib/ipfs-companion.js

* feat(telemetry):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(telemetry): Implementing RequestTracker Event Handler

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(telemetry): hooking up events.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(types): annotations

* fix(telemetry): :wastebasket: returning to previous state

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): :recycle: Refactor Request Tracker

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): hooking up requests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(telemetry): better types

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(countly): :wastebasket: more stuff goes, because test need to pass.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): fixed

* feat(test): test tracker.

* fix: remove only

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :lipstick: line break

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Ask for Host Permissions if not exist. (#1250)

* feat(mv3): :sparkles: Requesting Host Permissions Explicitly

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :bug: Adding perms step on installed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: request-permission-view tracking

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Making permissions agnostic to browser

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* docs: clarify why we need host permission

making prompt less scary, shorter, and informative

* Update add-on/src/lib/ipfs-request.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* feat(mv3): Redirection Tests (#1236)

* feat(mv3): :sparkles: Patching countly-sdk-web

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :sparkles: Implementing Custom Async Store.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* chore(mv3): :adhesive_bandage: Hooking everything up together.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Countly Patching + ignite-metrics@2.0.0

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Refactoring `supportsBlock` Checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Regex Bug

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Migrating blocking redirection test to observing redirection test

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Fixing the mocha-setup.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Moving Setup Files.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): gateway-redirect tests now fixed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :adhesive_bandage: Patching error messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(patch): countly-web-sdk

* fix(patch): :pin: Pinning countly-web-sdk to 23.2.2

* fix(mv3): :lipstick: Fixing Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: protocol-handler-redirection-tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: more tests fixed

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: More tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint fix

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test: merge mocha-setup files (#1246)

* test: merge mocha-setup files

* test(helper): add mv3-test-enabled helper

* test(setup): remove duplicate setup for mv3/mv2

* test(mv3): merge mv3 tests into mv2 test files (#1247)

* test(mv3): merge mv3 tests into mv2 test files

* chore(lint): fix lint failures

* test(supportsBlock): cleanup test

* test: migrating some tests

* test(redirect): mv3 tests use same code as mv2

* test(redirect): mv3 test cleanup

* test(protohandler): mv3 tests use same code as mv2

* test(helper): make isMv3 flag a boolean

* test: fix after merge

* test: fix after merge

* fix: typerrors for localstorage

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Updating test:functional_MV3 command.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: setup

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Fixing tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): Becuase Ofcourse

* feat(test): scaffolding mv3 + mv2 calls in a single check.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): unskipping and upgrading dnslink tests to mv3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Upgrading workaround tests to MV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): removing all skips with better checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring tests and removing redundant calls.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): More Dryer

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): one more

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :pencil2: Renaming isMv3TestingEnabled -> isManifestV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): refactor expectNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring more.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: replacing checks to undefined

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: renaming expectNoRedirect -> ensureNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Adding missing JSDoc

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :shrug: how did this get removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :wastebasket: removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Suggestion

* fix(test): :adhesive_bandage: Bad Merge

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): sequential expectNoRedirect

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(rules): Better Redirect Rules (#1256)

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :bug: Making rules less greedy

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :sparkles: Dynamic Rules for subdomain gateways.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(types): Adding ambient types for is-ipfs.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): helper

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): less greedy rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Adding simpler regex for redirects from similar namespaces.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :rotating_light: Warnings

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Better Default Rules (#1260)

* refactor(mv3): blockOrRequest code

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(mv3): Port Logic for Default Rules is more robust.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Adding tests for default rule logic.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

* fix(docs): :pencil2: Adding comments

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexfilters): Better Structure and Readability (#1261)

* refactor(regexFilters): :sparkles: Adding a base class for regexFilters.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving subdomain filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving namespace filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving common filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(regexFilters): :sparkles: Hooking Up All together

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :pencil2: Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :pencil2: Updating message.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(rename): :pencil2: CommonPatterRedirectRegexFilter -> CommonPatternRedirectRegexFilter

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :recycle: Refactor to remove call to super

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: make _canHandle private

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :zap: Fix math.min on every loop.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): no blanket redirect for subdomains without namespaces.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): unused import

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(recovery): Recovery Rules should reset (#1266)

* feat(mv3): :sparkles: Patching countly-sdk-web

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :sparkles: Implementing Custom Async Store.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* chore(mv3): :adhesive_bandage: Hooking everything up together.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Countly Patching + ignite-metrics@2.0.0

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Patching the Patch

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Refactoring `supportsBlock` Checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): Regex Bug

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Migrating blocking redirection test to observing redirection test

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Fixing the mocha-setup.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: Moving Setup Files.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): gateway-redirect tests now fixed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :adhesive_bandage: Patching error messages

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(patch): countly-web-sdk

* fix(patch): :pin: Pinning countly-web-sdk to 23.2.2

* fix(mv3): :lipstick: Fixing Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: protocol-handler-redirection-tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: more tests fixed

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: More tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint fix

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test: merge mocha-setup files (#1246)

* test: merge mocha-setup files

* test(helper): add mv3-test-enabled helper

* test(setup): remove duplicate setup for mv3/mv2

* test(mv3): merge mv3 tests into mv2 test files (#1247)

* test(mv3): merge mv3 tests into mv2 test files

* chore(lint): fix lint failures

* test(supportsBlock): cleanup test

* test: migrating some tests

* test(redirect): mv3 tests use same code as mv2

* test(redirect): mv3 test cleanup

* test(protohandler): mv3 tests use same code as mv2

* test(helper): make isMv3 flag a boolean

* test: fix after merge

* test: fix after merge

* fix: typerrors for localstorage

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: Updating test:functional_MV3 command.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: setup

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Fixing tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): Becuase Ofcourse

* feat(test): scaffolding mv3 + mv2 calls in a single check.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): unskipping and upgrading dnslink tests to mv3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Upgrading workaround tests to MV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): removing all skips with better checks.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring tests and removing redundant calls.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): More Dryer

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): one more

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :pencil2: Renaming isMv3TestingEnabled -> isManifestV3

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): refactor expectNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :recycle: Refactoring more.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: replacing checks to undefined

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: renaming expectNoRedirect -> ensureNoRedirect

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Adding missing JSDoc

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :shrug: how did this get removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :wastebasket: removed.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): Suggestion

* fix(test): :adhesive_bandage: Bad Merge

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): sequential expectNoRedirect

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wrench: Modifying the default local redirect behaviour.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :bug: Making rules less greedy

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :sparkles: Dynamic Rules for subdomain gateways.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(types): Adding ambient types for is-ipfs.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): helper

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): less greedy rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat: Adding simpler regex for redirects from similar namespaces.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :rotating_light: Warnings

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Better Default Rules (#1260)

* refactor(mv3): blockOrRequest code

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(mv3): Port Logic for Default Rules is more robust.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(test): Adding tests for default rule logic.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/src/lib/redirect-handler/blockOrObserve.ts

* fix(docs): :pencil2: Adding comments

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :sparkles: Adding a base class for regexFilters.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving subdomain filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving namespace filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* refactor(regexFilters): :recycle: Moving common filter to a subclass

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(regexFilters): :sparkles: Hooking Up All together

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(lint): :pencil2: Lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :pencil2: Updating message.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(rename): :pencil2: CommonPatterRedirectRegexFilter -> CommonPatternRedirectRegexFilter

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(regexFilters): :recycle: Refactor to remove call to super

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: make _canHandle private

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :zap: Fix math.min on every loop.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(recovery): reset rules

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(recovery): :recycle: Refactor messaging logic

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(recovery): :bug: Cleanup Logic

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :bug: fix toggle site integration.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :adhesive_bandage: Hard coding wait as the browser is not cooperative.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(mv3): :bug: rules section visible. (#1271)

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(brave): Fix Brave UX (#1270)

* fix(options): fixing options menu

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): Adding brave specific redirects.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: lint

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(e2e): Request Handling Tests (#1272)

* fix(test): :recycle: simplify scaffolding

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :test_tube: Adding a final resolution check

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/_locales/en/messages.json

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update add-on/src/options/forms/api-form.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update add-on/_locales/en/messages.json

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update test/functional/lib/redirect-handler/blockOrObserve.test.ts

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update README.md

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* fix(test):

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :see_no_evil: Don't interrupt websockets and webtransports.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :pencil2: Rename: ensureDeclrativeNetRequetRuleIsAdded -> ensureDeclarativeNetRequestRuleIsAdded

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix: :pencil2: Rename: ensureTabRedirected -> ensureTabUpdatedTo

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(language): :pencil2: Rewrite

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(test): :test_tube: Add a failing test.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update add-on/_locales/en/messages.json

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* Update ci/update-manifest.sh

Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>

* fix: :pencil2: Beta naming

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): FF Browser Action (#1275)

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* test(import): :test_tube: Backfill Tests (#1276)

* test(import): :test_tube: Backfill Tests

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* Update test/functional/lib/ipfs-import.test.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* Update test/functional/lib/ipfs-import.test.js

Co-authored-by: Marcin Rataj <lidel@lidel.org>

* test(import): :test_tube: Backfilling tests for copyImportResultsToFiles

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>

* feat(mv3): :heavy_plus_sign: Adding hash function to generate predict… (#1273)

feat(mv3): :heavy_plus_sign: Adding hash function to generate predictable ids.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :wastebasket: Remove redundant lines.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* fix(mv3): :recycle: opposite functionality `supportsBlock` -> `supportsDeclarativeNetRequest`

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

* feat(mv3): :twisted_rightwards_arrows: Adding migrations for embedded to external.

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>

---------

Signed-off-by: Nishant Arora <1895906+whizzzkid@users.noreply.github.com>
Co-authored-by: Russell Dempsey <1173416+SgtPooki@users.noreply.github.com>
Co-authored-by: Steve Loeppky <stvn@loeppky.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants